package org.example.listener;

import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.stereotype.Component;

@Component
// 监听器, 作用: 监听应用上下文,在启动服务器的过程中需要执行的业务逻辑,通过监听器完成
public class MyListener implements ApplicationListener<ContextRefreshedEvent> {
    @Override
    public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
        System.out.println("执行监听器");
        System.out.println("取得mysql数据,并保存到redis当中,将数据变为缓存");

        // 这个 context 叫做应用上下文,可以用来在启动服务器的过程中处理一些业务,这个context可以获得任何bean
        // 这里可以通过应用上下文取得bean,完成所需业务流程
        ApplicationContext context = contextRefreshedEvent.getApplicationContext();
    }
}
